1003C - Intense Heat - CodeForces Solution


brute force implementation math *1300

Please click on ads to support us..

Python Code:

n,k = map(int,input().split())
a = list(map(int,input().split()))
result = 0
for i in range(n):
    s = sum(a[i : i + k])
    l = k
    result = max(result, s / l)
    for j in range(i + k, min(n, i + 2 * k)):
        s += a[j]
        l += 1
        result = max(result, s / l)
print(result)

C++ Code:

#include <iostream>
#include <vector>
#include<iomanip>
using namespace std;

int main() {
	int n,x,k;
	cin>>n;
	cin>>k;
	vector<int> a;
	vector<int> pre;
	a.push_back(0);
	pre.push_back(0);
	for(int i = 0;i < n;i++){
		cin>>x;
		a.push_back(x);
	}
	for(int i = 1;i <= n;i++){
		pre.push_back(a[i]+pre[i-1]);
	}
	double max = 0;
	double sum=0;
	long double average;
	for(double i = k;i <= n;i++){
		for(int j = 1;j <= n;j++){
			if(j+i-1 > n) break;
			sum = pre[j+i-1] - pre[j-1];
			average = sum/i;
			if(average > max) max = average;
		}
	}
	cout<<setprecision(10);
	cout<<max<<endl;
	return 0;
}


Comments

Submit
0 Comments
More Questions

1626A - Equidistant Letters
977D - Divide by three multiply by two
1654B - Prefix Removals
1654A - Maximum Cake Tastiness
1649A - Game
139A - Petr and Book
1612A - Distance
520A - Pangram
124A - The number of positions
1041A - Heist
901A - Hashing Trees
1283A - Minutes Before the New Year
1654D - Potion Brewing Class
1107B - Digital root
25A - IQ test
785A - Anton and Polyhedrons
1542B - Plus and Multiply
306A - Candies
1651C - Fault-tolerant Network
870A - Search for Pretty Integers
1174A - Ehab Fails to Be Thanos
1169A - Circle Metro
780C - Andryusha and Colored Balloons
1153A - Serval and Bus
1487C - Minimum Ties
1136A - Nastya Is Reading a Book
1353B - Two Arrays And Swaps
1490E - Accidental Victory
1335A - Candies and Two Sisters
96B - Lucky Numbers (easy)